package com.sz.mes.entity;

import java.util.Date;
import java.lang.Double;
import java.math.BigDecimal;
import javax.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.validator.constraints.Length;
import java.util.List;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.sz.mes.entity.BaseCustomEntity;
import com.diboot.core.binding.query.BindQuery;
import com.diboot.core.binding.query.Comparison;
import com.diboot.core.util.D;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * 仓库 Entity定义
 * @author hem
 * @version 1.0
 * @date 2023-05-25
 * Copyright © szhs
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName(value = "warehouse", autoResultMap = true)
public class Warehouse extends BaseCustomEntity {

    private static final long serialVersionUID = 2682056976752258945L;

    /**
     * 仓库名称
     */
    @NotNull(message = "仓库名称不能为空")
    @Length(max = 100, message = "仓库名称长度应小于100")
    @TableField()
    private String warehouseName;

    /**
     * 负责人id
     */
    @NotNull(message = "负责人id不能为空")
    @Length(max = 100, message = "负责人id长度应小于100")
    @TableField()
    private String managerId;

    /**
     * 负责人名字
     */
    @Length(max = 100, message = "负责人名字长度应小于100")
    @TableField()
    private String managerName;

    /**
     * 仓库标号
     */
    @NotNull(message = "仓库标号不能为空")
    @Length(max = 100, message = "仓库标号长度应小于100")
    @TableField()
    private String warehouseNumber;

    /**
     * 仓库地址
     */
    @NotNull(message = "仓库地址不能为空")
    @Length(max = 100, message = "仓库地址长度应小于100")
    @TableField()
    private String warehouseAddress;

    /**
     * 仓库状态
     */
    @TableField()
    private Integer status;

    /**
     * 创建人
     */
    @TableField(fill = FieldFill.INSERT)
    private Long createBy;

    /**
     * 更新人
     */
    @TableField(fill = FieldFill.UPDATE)
    private Long updateBy;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.UPDATE)
    private Date updateTime;
}
